package com.example.graduation.config.shiro;

import org.springframework.stereotype.Component;

/**
 * ProjectName graduation
 * 这个类，描述了一个本地线程，其作用主要就是描述，一个线程只有一个token，在使用中，我们使用多例模式，这样既可以维护线程token的唯一，
 * 也可以在一个线程的运行中实现线程token的更新，因为都在一个线程中运行，所以不会运行其他线程
 *
 * @author xieyucan
 * <br>CreateDate 2022/2/14 11:49
 */
@Component
public class ThreadLocalToken {
    private ThreadLocal<String> local = new ThreadLocal<>();

    public void setToken(String token) {
        local.set(token);
    }

    public String getToken() {
        return local.get();
    }

    public void clean() {
        local.remove();
    }
}
